package analizadorLexico.estados;

public class Estado61 implements Estado{
/*aplico el patron singleton para cada estado*/
	
	/*INSTANCE lo que hace es guardar la instancia de la clase*/
	private static Estado61 INSTANCE = null;    
	private Estado61(){}
	
    private synchronized static void createInstance() {
        if (INSTANCE == null) INSTANCE = new Estado61();
    }
    
    public static Estado getInstance() {
        if (INSTANCE == null) createInstance();
        return INSTANCE;
    }

	public void irASiguienteEstado() {
		
		char c=Contexto.getSiguienteCaracterYAvanzar();
		
		if(c=='-')
		{
			Contexto.setEstadoActual(Estado62.getInstance());
			Contexto.appendAlLexema(c);
			return;
		}
		
		if(Contexto.esDigito(c)&&c!='0')
		{
			Contexto.setEstadoActual(Estado63.getInstance());
			Contexto.appendAlLexema(c);
			return;
		}
		
		Contexto.generarErrorYReiniciar(new Character(c).toString(), "0-9");
		
	}

}
